//============================================================================
// Copyright (C) 2003-2013 Brett R. Jones 
// All Rights Reserved
//
// You may redistribute and/or modify for non commercial and commercial uses 
// provided this copyright notice remains in place and is not modified
//
// This code is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
//
// brettjones1900@gmail.com
// http://www.p2panarchy.com
//============================================================================

#ifndef VX_ENT_ID_DEFINE
class VxEntId
{
	U32 u32Id;
};
#endif// VX_ENT_ID_DEFINE
#ifndef GO_SRV_LOCATION_DEFINE
class GoSrvLocation
{
	int iLoc;
	int iLoc2;
};
#endif// GO_SRV_LOCATION_DEFINE
#ifndef VX_ENT_CREATURE_DATA_DEFINE
class VxEntCreatureData
{
	int iRes[8];
};
#endif // VX_ENT_CREATURE_DATA_DEFINE

class PktCreatureReq : public VxPktHdr
{
public:
	PktCreatureReq()
	{
		m_u16PktLen = sizeof( PktCreatureReq );
		m_u16PktType = PKT_TYPE_CREATURE_REQ;
		u16Action = 0;
		//memset( au8Res, 0, sizeof( au8Res ) );
		vx_assert( 0 == (m_u16PktLen & 0x0f));
	}
	U16					u16Action;		// action to take
	VxEntId				oId;			// id of creature
	GoSrvLocation		oLocation;		// location of creature
	VxEntCreatureData	oCreatureData;	// all about the creature
	//U8					au8Res[8];//res to round to 16 bytes
};
class PktCreatureReply : public VxPktHdr
{
public:
	PktCreatureReply()
	{
		m_u16PktLen = sizeof( PktCreatureReply );
		m_u16PktType = PKT_TYPE_CREATURE_REPLY;
		u16Action = 0;
		memset( au8Res, 0, sizeof( au8Res ) );
		vx_assert( 0 == (m_u16PktLen & 0x0f));
	}
	U16				u16Action;		// action to take
	U32				u64Sn;			// id of creature
	U8				au8Res[4];//res to round to 16 bytes
};
